The exemplary embodiment relates generally to improved methods and systems for selecting optimal test patches for printing systems using low rank approximation. It finds particular application in conjunction with document processing and image processing systems and will be described with particular reference thereto. However, it is to be appreciated that some embodiments may be amenable to other applications.
Maintaining consistent and uniform tones is a desired goal in most, if not all, image rendering processes and devices. In other words, it is desirable for an image to appear the same no matter which rendering system renders the image and no matter how many times an image is rendered on a particular system. The image should exhibit, for example, the same lightness or hue each time it is rendered on a given system and no matter on which system it is rendered. For this reason, rendering engines, such as print engines in a printing system, are put through a characterization process in order to determine appropriate compensation values for a particular engine. While this characterization process is useful in determining an initial set of compensation levels for a particular engine, it is often desirable to perform later calibrations to account for variations in the required compensation over time. For example, in printing systems, it is common to use tone reproduction curves (TRCs), which are determined during the initial characterization process. These TRCs can then be updated, calibrated or recalibrated overtime by periodically printing test patches at various calibration levels and sensing the printed test patches to determine appropriate compensations for the initial TRCs so that the new TRCs can give appropriate compensation for the current state of a drifted print engine.
Where image data is available in a contone format, TRCs can be used to adjust pixel values to compensate for the characteristics of a particular rendering engine. During the calibration process, a calibration image is rendered by the rendering engine, and a sensor is used to measure or analyze an aspect of the rendered image. For example, the image generally includes portions that are meant to be rendered to have the same lightness or shade of gray. Therefore, the lightness or shade of gray of the rendered image is measured. The measurements may then be used to generate an engine response curve (ERC). The engine response curve may describe a response, such as an average response, over the entire area of the diagnostic or calibration image.
Engine response curves and tone reproduction curves are referred to as curves because the information they contain or are associated with may sometimes be displayed or discussed as a plot of data points. However, information related to both ERCs and compensating TRCs may be stored or manipulated as tables of data, sets of coefficients and/or constants associated with equations, or by other means, as may be convenient.
As indicated above, compensating TRCs are useful for compensating pixel-described input to produce desired colors or shades of gray with a relatively fine resolution. For example, compensating TRCs are useful where image pixels describe an input or desired color with one or more values in a relatively broad range of, for example, 0-255. Such pixels are said to describe an input or desired color or desired shade of gray with contone values. In such systems, one may select an appropriate compensating TRC for a pixel location in rendered image space based on a contone value of the input pixel and look-up and/or calculate a compensated contone value based on the selected compensating TRC.
It has been found that basis vector representation of various aspects of print engine response is useful. The basis vector methodology provides a formalism that significantly aids in efficiently representing and controlling print engine response while rejecting uncorrelated noise. The benefits of basis function representation are realized via low rank approximation.
Some of the practical applications of basis function representation include (1) time-zero calibration (see U.S. Pat. No. 5,749,020, entitled COORDINIZATION OF TONE REPRODUCTION CURVE IN TERMS OF BASIS FUNCTIONS, to L. K. Mestha et al.), (2) temporal drift correction (see U.S. application Ser. No. 11/314,104, filed Dec. 21, 2005, entitled “SYSTEM AND METHOD FOR IMAGE BASED CONTROL USING INLINE SENSORS,” by Zhigang Fan, et al.), and (3) the XIA02 spatially compensating TRCs. Other examples include spatial TRCs for multiple halftones, and controlling for consistency on different media, halftones, colors (or gray levels), and across multiple printers. In these applications, the variations of the printing system are characterized as a weighted summation of a few eigen functions.
A consideration within the above applications and for calibration in general is the selection of gray levels and color patches for sampling. Conventional interpolation-based calibration methods, as well as previously developed low-rank approximation-based methods, have been employing sample patches that are selected in an ad hoc or heuristic manner. Defining a minimal set becomes increasingly important when considering the multitude of variables that must be comprehended under calibration and control (e.g., colors, halftones, media, printers, etc.). In contrast to prior methods, U.S. application Ser. No. 11/314,670, filed Dec. 21, 2005, entitled “OPTIMAL TEST PATCH LEVEL SELECTION FOR SYSTEMS THAT ARE MODELED USING LOW RANK EIGEN FUNCTIONS, WITH APPLICATIONS TO FEEDBACK CONTROLS,” by Zhigang Fan, et al., further develops the low rank approximation method to provide a theoretically optimal algorithm to ensure measurement accuracy and efficiency with a minimal variable set. Minimizing the number of samples reduces the computation and memory requirements as well as the spatial extent of the test patches. The result is a minimization of cost and enablement of more frequent sampling and more applications.
Nonetheless, there is a need for extending the theory developed in U.S. application Ser. No. 11/314,670 to calibrations that require color patches over the whole printer gamut. There are at least two aspects of the exemplary embodiment that differ from U.S. application Ser. No. 11/314,670. First, whole-gamut calibration involves a large set of variables, such as the number of media and the number of color patches required. For example, a customer using a Xerox iGen3 printer may print more than 200 media, and to calibrate each media may require more than 200 color patches. In order to select the calibration patches over the entire gamut using the theory in U.S. application Ser. No. 11/314,670, one can print and measure off-line, say, thirteen levels of fineness for each C, M, and Y separation and their combination. This will result in 133=2197 patches. Selecting 200 patches out of 2197 patches provides 2.57×10289 possibilities. To exhaust all the possibilities as in U.S. application Ser. No. 11/314,670 is a difficult task. A large scale optimization method is therefore needed to apply the theory in U.S. application Ser. No. 11/314,670. Second, gray level (or single separation color patch) selection as in U.S. application Ser. No. 11/314,670 is generally used by printer manufacturers to calibrate the printer, while the whole-gamut calibration in the exemplary embodiment may also be used by a customer using the printer.